KeyDown v EditBoxu

Otázka od: Martin Pisarik

24. 9. 2004 12:53

Ahoj,
asi je to stupidni dotaz.

Mam TEdit a potrebuju osetrit stisk klaves Enter a Tab, Enter je v pohode,
ale s tim Tabem mi to nejde. Da se to nejak jednoduse vyresit?
Dik.



Odpovedá: Jiri Cincura

24. 9. 2004 13:45

Martin Pisarik wrote:
> Ahoj,
> asi je to stupidni dotaz.
>
> Mam TEdit a potrebuju osetrit stisk klaves Enter a Tab, Enter je v
> pohode, ale s tim Tabem mi to nejde. Da se to nejak jednoduse vyresit?
> Dik.

Pres Application.OnMessage (nebo proste jen message) si to zachytim a
zjistim, komu to je urceno, pokud je to muj Edit, provedu co je potreba.

--
Jiri Cincura
e-mail: mailto:jiri@cincura.net; mailto:xcincura@informatics.muni.cz
ICQ: 314711544
web: http://www.cincura.net; http://photo.cincura.net



Odpovedá: Vlastimil Burian

24. 9. 2004 20:35

Mam TEdit a potrebuju osetrit stisk klaves Enter a Tab, Enter je v
pohode, ale s tim Tabem mi to nejde. Da se to nejak jednoduse vyresit?
------------------------

dejme tomu ze mas formular Form1 a pole Edit1.....


-- do OnCreate formulare dej --
        Application.OnMessage := OnKeyMessage;

-- mezi osetrujici metody formulare vepis hlavicku --

procedure OnKeyMessage(var Msg: TMsg; var Handled: Boolean);

-- do sekce implementation --

procedure TForm1.OnKeyMessage(var Msg: TMsg; var Handled: Boolean);
begin
  if (Msg.message = WM_KEYDOWN) and (Msg.wParam = 9) and Edit1.Focused
    then ShowMessage('mam te  ');


end;

pripadne pro osetreni jeste toho Enteru vyuzij zase (Msg.wParam = 13)